perm filename SEARCH.LSP[206,LSP]1 blob
sn#379042 filedate 1978-09-05 generic text, type T, neo UTF8
(SETQ SEARCHFNS '(
SEARCH
SEARCHLIS
ALLSOL1
ALLSOL
ALLSOLA
ALLSOLB
))
(DEFUN SEARCH (P) (COND ((LOSE P) 'LOSE) ((TER P) P) (T (SEARCHLIS (SUCCESSORS P)))))
(DEFUN SEARCHLIS (U) (COND ((NULL U) 'LOSE) (T ((LAMBDA (X) (COND ((EQ X 'LOSE)
(SEARCHLIS (CDR U))) (T X))) (SEARCH (CAR U))))))
(DEFUN ALLSOL1 (P) (COND ((LOSE P) NIL)
((TER P) (LIST P))
(T (MAPAPP (FUNCTION ALLSOL1) (SUCCESSORS P)))))
(DEFUN ALLSOL (P) (ALLSOLA P NIL))
(DEFUN ALLSOLA (P FOUND) (COND
((LOSE P) FOUND)
((TER P) (CONS P FOUND))
(T (ALLSOLB (SUCCESSORS P) FOUND))))
(DEFUN ALLSOLB (U FOUND) (COND
((NULL U) FOUND)
(T (ALLSOLB (CDR U) (ALLSOLA (CAR U) FOUND)))))